package com.yb.livewykt.bean

class FuEffect(
    val bundleName: String,
    val iconId: Int,
    val bundlePath: String,
    val maxFace: Int,
    val type: Int,
    val descId: Int
) {


    companion object{
        /**
         * 类型
         */
        const val EFFECT_TYPE_NONE = 0
        const val EFFECT_TYPE_STICKER = 1
        const val EFFECT_TYPE_AR_MASK = 2
        const val EFFECT_TYPE_ACTION_RECOGNITION = 3
        const val EFFECT_TYPE_EXPRESSION_RECOGNITION = 4
        const val EFFECT_TYPE_PORTRAIT_SEGMENT = 5
        const val EFFECT_TYPE_GESTURE_RECOGNITION = 6
        const val EFFECT_TYPE_ANIMOJI = 7
        const val EFFECT_TYPE_PORTRAIT_DRIVE = 8
        const val EFFECT_TYPE_FACE_WARP = 9
        const val EFFECT_TYPE_MUSIC_FILTER = 10
        const val EFFECT_TYPE_HAIR_NORMAL = 11
        const val EFFECT_TYPE_HAIR_GRADIENT = 12
        const val EFFECT_TYPE_PTA = 13
        const val EFFECT_TYPE_BIG_HEAD = 14
    }


    override fun equals(o: Any?): Boolean {
        if (this === o) {
            return true
        }
        if (o == null || javaClass != o.javaClass) {
            return false
        }
        val effect: FuEffect = o as FuEffect
        return bundlePath == effect.bundlePath
    }

    override fun hashCode(): Int {
        return bundlePath?.hashCode() ?: 0
    }

    override fun toString(): String {
        return "FuEffect(bundleName='$bundleName', iconId=$iconId, bundlePath='$bundlePath', maxFace=$maxFace, type=$type, descId=$descId)"
    }


}